1. Field of the Invention
This invention relates generally to accessing data, and, more particularly, to accessing variable sized blocks of data with prioritization.
2. Description of the Related Art
Modern day electronic products, such as computers and telecommunications devices, are generally faster and more efficient than their predecessors. Two important factors that have contributed to the improved performance of today""s electronic products is the efficiency and laster rate at which these products transmit and receive signals. However, given the customer demand for faster and more responsive products, designers are constantly seeking ways to achieve a higher bandwidth while controlling the costs.
The overall performance of applications, particularly real-time telecommunication applications, can be improved by increasing the bandwidth available for transmitting signals. One example of a real-time telecommunication application where an increased bandwidth is desirable is a Wireless Local Loop (WLL) network.
Wireless Local Loop is quickly emerging as the technology that promises to deliver telephone service in geographical areas where using conventional copper telephone lines is cost prohibitive, or in a case where a telephone line exists, radio access technologies such as WLL provide other companies an opportunity to provide competitive services. Installing the last quarter of a mile of the telephone wire to a subscriber station is usually one of the most costly portions of the traditional telephone network, primarily because of the expenses associated with labor and maintenance. The telephone companies, which are usually responsible for maintaining the telephone wire, are frequently plagued with the daunting task of repairing the damage to the telephone lines caused by inclement weather, falling trees, digging, and by the recurring problem of copper wire theft. Accordingly, to circumvent the problems that are typically associated with the xe2x80x9ctraditionalxe2x80x9d telephone network, system designers turned to WLL technology, which is proving to be a promising and viable alternative.
FIG. 1 illustrates a block diagram of a WLL network 100. The WLL network 100 includes a Wireless Subscriber Unit (WSU) at a subscriber station 115 that communicates with a remote Basestation Transceiver System (BTS) 120. The data flow from the WSU 110 to the BTS 120 is referred to as an uplink connection, and the data flow from the BTS 120 to the WSU 110 is referred to as a downlink connection. The BTS 120 links the WSU 110 to a central office 130, thus allowing a user at the subscriber station 115 to communicate with other subscriber stations (not shown) through the central office 130. A connection 132 between the BTS 120 and the central office 130 may be made via a wire-line, fiber or microwave link, depending on the bandwidth, distance, and the terrain.
The heart of the WLL network 100 is the xe2x80x9cwirelessxe2x80x9d interface between the BTS 120 and the WSU 110, where the need for the copper loop is eliminated. The WSU 110, located in the home or office, provides a radio frequency (RF) interface to an existing phone 135 or modem 140, usually through an RJ-11 type plug (not shown). The connection between the subscriber station 115 and the central office 130 is typically as reliable and clear as the copper wire version.
The counterpart to the WSU 110 is the BTS 120, which is generally located in the field. As is common in most wireless systems, the BTS 120 serves as a control station for the WSU 110 by providing, over a designated pilot channel, synchronization and control information necessary to initiate and maintain two-way communication. In communication systems employing time division multiple access (TDMA), a process well known in the art, the WSU 110 selects the channel frequency and the specific time slot based upon the availability and quality of the channels in the coverage area.
Most wireless communication systems, including the WLL network 100, operate in accordance with industry defined standards. For example, two popular standards for the WLL network 100 are Personal Handyphone System (PHS) and Digital Enhanced Cordless Telecommunications (DECT). The PHS and DECT standards, as well as other WLL standards, define the format for transmitting and receiving data, error checking algorithm, retransmission scheme, and other such parameters that are relevant to wireless communications systems.
The DECT standard for the WLL network 100, for example, defines a 10-millisecond TDMA frame that comprises twenty-four time slots, where generally twelve slots are reserved for transmitting and twelve for receiving. DECT supports voice, analog data, and packet data communications. Voice and analog data communications are full duplex, whereas packet data communications are simplex in nature. Packet data communications can take advantage of directing all slots in one direction, uplink or downlink, with the exception of one slot for the reverse acknowledgement channel. Depending upon the bandwidth allocated by the system, an uplink or downlink channel can utilize between one and twenty-three lots for transferring packet data. When no data is waiting to be sent, the bandwidth is deallocated and assigned to other users. Thus, in an uplink connection, the BTS 120 of the WLL network 100 can transmit data on up to twenty-three slots that are allocated for transmitting data per each frame to the WSU 110. Assuming all of the data is successfully transmitted over the twenty-three time slots, then new data may be transmitted on the twenty-three transmit time slots of the next frame. On the other hand, if not all of the data is successfully transmitted to the BTS 120 because of transmission errors, then that data is retransmitted over the twenty-three transmit time slots in accordance with the DECT retransmission scheme.
The retransmission scheme of a DECT WLL network requires an acknowledgement to be generated by the peer station on a slot-by-slot basis for duplex bearers. Double simplex bearers"" acknowledgements are on a logical bearer number (LBN) basis contained in a MAC-MOD-2ACK message in a reverse bearer. The BTS 120 or the WSU 110 may be the peer station, depending on whether the connection is an uplink or downlink connection. That is, in an uplink connection, the BTS 120 is the peer station, and in a downlink connection, the WSU 110 is the peer station. A xe2x80x9cgoodxe2x80x9d acknowledgement, a request to advance, from the peer device indicates a good transmission and new data should be transmitted in the next frame. On the other hand, a xe2x80x9cbadxe2x80x9d acknowledgement, a request to retransmit, indicates a bad transmission, and thus requires retransmission of data that was not received correctly by the peer station.
Generally, in the WSU 110 or the BTS 120 of the WLL network 100, data is retrieved from an external source (not shown), such as a processor or memory, before the data is transferred to the peer station. Because the data is transmitted and received at a fast rate between the BTS 120 and the WSU 110, it is desirable to quickly access the data for transmission from the external source (not shown). However, because the data carried by some slots may not successfully reach the BTS 120 during the first attempt, it may be necessary to retransmit unacknowledged slots until the data successfully reaches the BTS 120. Accordingly, some retransmission schemes may require different sized blocks of data to be retrieved from the external source for each frame transmission. Thus, the amount of data that is retrieved for transmission of the next frame may depend on the successful transmission rate of the previous frame since new data is generally retrieved for only those slots for which the transmission successfully completes.
The conventional method of retrieving data entails having a microprocessor or a microcontroller (not shown) program or instruct a direct memory access controller (not shown) to fetch the desired data. To retrieve different sized blocks of data for each transmission, the microprocessor/microcontroller, using the conventional method, must reprogram the direct memory access controller for each memory access. Reprogramming the direct memory access controller to fetch different sized blocks of data for each memory access, however, is a time-consuming process that can adversely affect the performance of the communications system. Additionally, the order in which data is retrieved from the external source may also adversely affect the performance of the communications system, as these communications systems transmit and receive data at high speeds in successive frames. It is therefore desirable that the data to be transmitted during a particular frame be readily available to the communications system before the transfer of that frame.
Another problem is that data may have to be transferred to non-contiguous memory locations making, the use of a discretionary access controller less efficient. Additionally, data transfer must also occur in a timely manner, in which case the microprocessor has to respond to an interrupt with low latency and manage real time data transfer.
The present invention is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above.
In one aspect of the present invention, a method is provided. The method includes defining a first portion of a memory for receiving data and providing a memory request to transfer data from a source to the first portion of the memory defined to receive the data. The method further includes transferring a portion of data from the source to the first portion of the memory according to a priority scheme that determines the sequence of the data transfer, wherein the size of the portion of the data substantially corresponds to the size of the first portion of the memory.
In another aspect of the present invention, an apparatus is provided. The apparatus includes a source for providing data, and a memory having a first portion configured to receive the data from the source. The apparatus comprises an access controller that is capable of transferring data from the source to the first portion of the memory in response to a memory request. The apparatus includes a control logic capable of providing the memory access request to the access controller to transfer a portion of the data from the source that corresponds to the size of the first portion of the memory in accordance with a priority scheme that determines the sequence of the data transfer.